parameters where possible, to avoid unnecessary casts.
Signed-off-by: Keir Fraser <keir@xensource.com>
int xc_hvm_build_mem(int xc_handle,
uint32_t domid,
int memsize,
- char *image_buffer,
+ const char *image_buffer,
unsigned long image_size,
unsigned int vcpus,
unsigned int pae,
return -EINVAL;
}
-static int probeimageformat(char *image,
+static int probeimageformat(const char *image,
unsigned long image_size,
struct load_funcs *load_funcs)
{
static int setup_guest(int xc_handle,
uint32_t dom,
const char *image, unsigned long image_size,
- char *initrd, unsigned long initrd_len,
+ const char *initrd, unsigned long initrd_len,
unsigned long nr_pages,
unsigned long *pvsi, unsigned long *pvke,
unsigned long *pvss, vcpu_guest_context_t *ctxt,
static int setup_guest(int xc_handle,
uint32_t dom,
const char *image, unsigned long image_size,
- char *initrd, unsigned long initrd_len,
+ const char *initrd, unsigned long initrd_len,
unsigned long nr_pages,
unsigned long *pvsi, unsigned long *pvke,
unsigned long *pvss, vcpu_guest_context_t *ctxt,
unsigned long shadow_mode_enabled;
uint32_t supported_features[XENFEAT_NR_SUBMAPS] = { 0, };
- rc = probeimageformat((char *)image, (unsigned long)image_size, &load_funcs);
+ rc = probeimageformat(image, image_size, &load_funcs);
if ( rc != 0 )
goto error_out;
memset(&dsi, 0, sizeof(struct domain_setup_info));
- rc = (load_funcs.parseimage)((char *)image, (unsigned long)image_size, &dsi);
+ rc = (load_funcs.parseimage)(image, image_size, &dsi);
if ( rc != 0 )
goto error_out;
goto error_out;
}
- (load_funcs.loadimage)((char *)image, image_size,
+ (load_funcs.loadimage)(image, image_size,
xc_handle, dom, page_array,
&dsi);
static int xc_linux_build_internal(int xc_handle,
uint32_t domid,
- const char *image,
+ char *image,
unsigned long image_size,
char *initrd,
unsigned long initrd_len,
int xc_linux_build_mem(int xc_handle,
uint32_t domid,
- char *image_buffer,
+ const char *image_buffer,
unsigned long image_size,
- char *initrd,
+ const char *initrd,
unsigned long initrd_len,
const char *cmdline,
const char *features,
}
else
{
- ram_buf = initrd;
+ ram_buf = (char *)initrd;
ram_len = initrd_len;
}
#error "Unsupported architecture"
#endif
-
#define round_pgup(_p) (((_p)+(PAGE_SIZE-1))&PAGE_MASK)
#define KZERO 0x80000000
#define KOFFSET(_p) ((_p)&~KZERO)
-static int parseaout9image(char *, unsigned long, struct domain_setup_info *);
-static int loadaout9image(char *, unsigned long, int, uint32_t, unsigned long *, struct domain_setup_info *);
-static void copyout(int, uint32_t, unsigned long *, unsigned long, void *, int);
-struct Exec *get_header(char *, unsigned long, struct Exec *);
+static int parseaout9image(const char *, unsigned long, struct domain_setup_info *);
+static int loadaout9image(const char *, unsigned long, int, uint32_t, unsigned long *, struct domain_setup_info *);
+static void copyout(int, uint32_t, unsigned long *, unsigned long, const char *, int);
+struct Exec *get_header(const char *, unsigned long, struct Exec *);
int
probe_aout9(
- char *image,
+ const char *image,
unsigned long image_size,
struct load_funcs *load_funcs)
{
static int
parseaout9image(
- char *image,
+ const char *image,
unsigned long image_size,
struct domain_setup_info *dsi)
{
static int
loadaout9image(
- char *image,
+ const char *image,
unsigned long image_size,
int xch, uint32_t dom,
unsigned long *parray,
int xch, uint32_t dom,
unsigned long *parray,
unsigned long addr,
- void *buf,
+ const char *buf,
int sz)
{
unsigned long pgoff, chunksz, off;
*/
struct Exec *
get_header(
- char *image,
+ const char *image,
unsigned long image_size,
struct Exec *ehdr)
{
#define FLAGS_REQUIRED XEN_REACTOS_FLAG_ADDRSVALID
static struct xen_bin_image_table *
-findtable(char *image, unsigned long image_size);
+findtable(const char *image, unsigned long image_size);
static int
parsebinimage(
- char *image, unsigned long image_size, struct domain_setup_info *dsi);
+ const char *image, unsigned long image_size,
+ struct domain_setup_info *dsi);
static int
loadbinimage(
- char *image, unsigned long image_size, int xch, uint32_t dom,
+ const char *image, unsigned long image_size, int xch, uint32_t dom,
unsigned long *parray, struct domain_setup_info *dsi);
-int probe_bin(char *image,
+int probe_bin(const char *image,
unsigned long image_size,
struct load_funcs *load_funcs)
{
- if ( NULL == findtable(image, image_size) )
- {
+ if ( findtable(image, image_size) == NULL )
return -EINVAL;
- }
load_funcs->parseimage = parsebinimage;
load_funcs->loadimage = loadbinimage;
}
static struct xen_bin_image_table *
-findtable(char *image, unsigned long image_size)
+findtable(const char *image, unsigned long image_size)
{
struct xen_bin_image_table *table;
unsigned long *probe_ptr;
/* Don't go outside the image */
if ( image_size < sizeof(struct xen_bin_image_table) )
- {
return NULL;
- }
+
probe_count = image_size;
/* Restrict to first 8k */
- if ( 8192 < probe_count )
- {
+ if ( probe_count > 8192 )
probe_count = 8192;
- }
probe_count = (probe_count - sizeof(struct xen_bin_image_table)) /
sizeof(unsigned long);
return NULL;
}
-static int parsebinimage(char *image,
+static int parsebinimage(const char *image,
unsigned long image_size,
struct domain_setup_info *dsi)
{
static int
loadbinimage(
- char *image, unsigned long image_size, int xch, uint32_t dom,
+ const char *image, unsigned long image_size, int xch, uint32_t dom,
unsigned long *parray, struct domain_setup_info *dsi)
{
unsigned long size;
static int
parseelfimage(
- char *image, unsigned long image_size, struct domain_setup_info *dsi);
+ const char *image, unsigned long image_size,
+ struct domain_setup_info *dsi);
static int
loadelfimage(
- char *image, unsigned long image_size, int xch, uint32_t dom,
+ const char *image, unsigned long image_size, int xch, uint32_t dom,
unsigned long *parray, struct domain_setup_info *dsi);
static int
loadelfsymtab(
- char *image, int xch, uint32_t dom, unsigned long *parray,
+ const char *image, int xch, uint32_t dom, unsigned long *parray,
struct domain_setup_info *dsi);
-int probe_elf(char *image,
+int probe_elf(const char *image,
unsigned long image_size,
struct load_funcs *load_funcs)
{
Elf_Ehdr *ehdr = (Elf_Ehdr *)image;
if ( !IS_ELF(*ehdr) )
- {
return -EINVAL;
- }
load_funcs->parseimage = parseelfimage;
load_funcs->loadimage = loadelfimage;
((phdr->p_flags & (PF_W|PF_X)) != 0));
}
-static int parseelfimage(char *image,
+static int parseelfimage(const char *image,
unsigned long elfsize,
struct domain_setup_info *dsi)
{
Elf_Phdr *phdr;
Elf_Shdr *shdr;
unsigned long kernstart = ~0UL, kernend=0UL;
- char *shstrtab, *guestinfo=NULL, *p;
+ const char *shstrtab;
+ char *guestinfo=NULL, *p;
int h;
if ( !IS_ELF(*ehdr) )
if ( strcmp(&shstrtab[shdr->sh_name], "__xen_guest") != 0 )
continue;
- guestinfo = image + shdr->sh_offset;
+ guestinfo = (char *)image + shdr->sh_offset;
if ( (strstr(guestinfo, "LOADER=generic") == NULL) &&
(strstr(guestinfo, "GUEST_OS=linux") == NULL) )
static int
loadelfimage(
- char *image, unsigned long elfsize, int xch, uint32_t dom,
+ const char *image, unsigned long elfsize, int xch, uint32_t dom,
unsigned long *parray, struct domain_setup_info *dsi)
{
Elf_Ehdr *ehdr = (Elf_Ehdr *)image;
static int
loadelfsymtab(
- char *image, int xch, uint32_t dom, unsigned long *parray,
+ const char *image, int xch, uint32_t dom, unsigned long *parray,
struct domain_setup_info *dsi)
{
Elf_Ehdr *ehdr = (Elf_Ehdr *)image, *sym_ehdr;
(shdr[h].sh_type == SHT_SYMTAB) )
{
if ( parray != NULL )
- xc_map_memcpy(maxva, image + shdr[h].sh_offset, shdr[h].sh_size,
- xch, dom, parray, dsi->v_start);
+ xc_map_memcpy(maxva, image + shdr[h].sh_offset,
+ shdr[h].sh_size,
+ xch, dom, parray, dsi->v_start);
/* Mangled to be based on ELF header location. */
shdr[h].sh_offset = maxva - dsi->symtab_addr;
int xc_copy_to_domain_page(int xc_handle,
uint32_t domid,
unsigned long dst_pfn,
- void *src_page)
+ const char *src_page)
{
void *vaddr = xc_map_foreign_range(
xc_handle, domid, PAGE_SIZE, PROT_WRITE, dst_pfn);
return sz;
}
-void xc_map_memcpy(unsigned long dst, char *src, unsigned long size,
+void xc_map_memcpy(unsigned long dst, const char *src, unsigned long size,
int xch, uint32_t dom, unsigned long *parray,
unsigned long vstart)
{
unsigned int start_page, unsigned int nr_pages);
int xc_copy_to_domain_page(int xc_handle, uint32_t domid,
- unsigned long dst_pfn, void *src_page);
+ unsigned long dst_pfn, const char *src_page);
int xc_clear_domain_page(int xc_handle, uint32_t domid,
unsigned long dst_pfn);
*/
int xc_linux_build_mem(int xc_handle,
uint32_t domid,
- char *image_buffer,
+ const char *image_buffer,
unsigned long image_size,
- char *initrd_buffer,
+ const char *initrd_buffer,
unsigned long initrd_size,
const char *cmdline,
const char *features,
int xc_hvm_build_mem(int xc_handle,
uint32_t domid,
int memsize,
- char *image_buffer,
+ const char *image_buffer,
unsigned long image_size,
unsigned int vcpus,
unsigned int pae,
return image;
}
-char *xc_inflate_buffer(char *in_buf, unsigned long in_size,
+char *xc_inflate_buffer(const char *in_buf, unsigned long in_size,
unsigned long *out_size)
{
int sts;
{
if ( out_size != NULL )
*out_size = in_size;
- return in_buf;
+ return (char *)in_buf;
}
out_len = in_buf[in_size-4] +
char *xc_read_image(const char *filename, unsigned long *size);
-char *xc_inflate_buffer(char *in_buf,
+char *xc_inflate_buffer(const char *in_buf,
unsigned long in_size,
unsigned long *out_size);
char *xen_guest_string;
};
-typedef int (*parseimagefunc)(char *image, unsigned long image_size,
+typedef int (*parseimagefunc)(const char *image, unsigned long image_size,
struct domain_setup_info *dsi);
-typedef int (*loadimagefunc)(char *image, unsigned long image_size, int xch,
+typedef int (*loadimagefunc)(const char *image, unsigned long image_size,
+ int xch,
uint32_t dom, unsigned long *parray,
struct domain_setup_info *dsi);
} mfn_mapper_t;
int xc_copy_to_domain_page(int xc_handle, uint32_t domid,
- unsigned long dst_pfn, void *src_page);
+ unsigned long dst_pfn, const char *src_page);
unsigned long xc_get_filesz(int fd);
-void xc_map_memcpy(unsigned long dst, char *src, unsigned long size,
+void xc_map_memcpy(unsigned long dst, const char *src, unsigned long size,
int xch, uint32_t dom, unsigned long *parray,
unsigned long vstart);
domid_t dom);
/* image loading */
-int probe_elf(char *image, unsigned long image_size, struct load_funcs *funcs);
-int probe_bin(char *image, unsigned long image_size, struct load_funcs *funcs);
-int probe_aout9(char *image, unsigned long image_size, struct load_funcs *funcs);
+int probe_elf(const char *image, unsigned long image_size,
+ struct load_funcs *funcs);
+int probe_bin(const char *image, unsigned long image_size,
+ struct load_funcs *funcs);
+int probe_aout9(const char *image, unsigned long image_size,
+ struct load_funcs *funcs);
#endif